基于 SpyGlass CDC 的 MTBF 流程
基于 SpyGlass CDC 的 MTBF 流程
会议: SNUG China 2017
作者: 张培卓、张永攀 (厦门紫光展锐科技有限公司)
页数: 5
源文件: SNUG_CN_Unknown_基于SPYGLASS CDC 的MTBF_paper.pdf
1. 前言
MTBF (Mean Time Between Failure),即平均故障间隔时间,是衡量一个产品可靠性的指标。它反映了产品的时间质量,是体现产品在一定时间内保持功能的一种能力。
在 ASIC 专用集成电路 设计中,MTBF 同样是芯片稳定性的一个指标。ASIC 芯片中出现亚稳态 Metastability将会使芯片工作失常,因此数字电路设计中 MTBF 的值通常反映亚稳态出现的时间间隔。本文中提到的 MTBF 计算均指亚稳态发生的时间。
2. 亚稳态 (Metastability)
在数字电路中,触发器 (flip-flop) 是时序电路的基本单元。每个 flip-flop 都有特定的建立 (setup) 和保持 (hold) 时间参数,在这个时间参数内,输入信号是不允许发生变化的。如果在 flip-flop 的建立时间内对输入信号采样,得到的结果将会不可预知,即亚稳态 (Metastability)。
在同步 (synchronous) 电路中,可以通过综合工具约束避免亚稳态。在异步 (asynchronous) 电路中,亚稳态主要是由 CDC (Clock Domain Crossing) 引起的,同时亚稳态的发生时间间隔通过 MTBF 值体现。因此异步电路中 MTBF 的计算是由 CDC 决定的。
在异步设计中,CDC 主要通过同步器 (synchronizer) 解决,而 Flip-flop 的亚稳态可以使用 MTBF 来描述。因此 IC 的 MTBF 可以近似地通过所有同步器的 MTBF 计算而来。
3. MTBF 计算
同步器 (Synchronizer) 通常是指目的时钟域通过 flip-flop 连续两级或多级采样。
对于两级的同步器,MTBF 计算如下:
$$MTBF = \frac{e^{T_s/\tau}}{T_w \cdot f_c \cdot f_d}$$
其中: - $T_w$ 为亚稳态发生的时间窗口 (setup_time + hold_time) - $T_s$ 为 (采样时钟周期 - setup_time - clock_skew) - $\tau$ 为 flip-flop 的单元固有特性 - $f_c$ 为采样时钟频率 - $f_d$ 为输入数据时钟频率
对于整个芯片的 MTBF 计算如下:
$$\frac{1}{MTBF} = \sum_{n=1}^{N} \frac{1}{MTBF(n)}$$
因此设计的 MTBF 主要通过设计中同步器来计算,而 flip-flop 的 MTBF 计算又与单元特性有关。因此同步器单元要使用经过挑选的单元来满足 MTBF 要求。
设计中存在的同步器单元,可以通过 SpyGlass 工具进行 CDC 检查。通过对 CDC 报告进行后处理,可以得到设计中所有的同步器单元。
4. SpyGlass CDC
随着 IC 规模的越来越大,设计中的时钟域也在增多。对于不同时钟域之间的数据交互如果处理不当,便会引起 CDC 问题频繁发生。同时由 CDC 导致的问题在实际系统上的表现并不是非常一致,是概率性地出现,这对问题的解决非常不利。因此在对设计进行检查时,CDC 问题的发现日益重要。Synopsys 的 SpyGlass 工具的 CDC 检查方案几乎涵盖了设计中所有存在的 CDC 问题。
在异步设计中,MTBF 计算主要存在于 CDC 边界的地方。因此如何找出 CDC 同步器是计算 MTBF 的首要问题。
SpyGlass 的 CDC 可以报告出设计中所有发生 CDC 的地方。因此我们可以通过 CDC 的报告来找出设计中所有的同步器,通过对设计的同步器进行 MTBF 计算,进而计算出 IC 的 MTBF。同时也可根据 MTBF 来调整同步器的级数使之符合需求。
可以通过下列步骤产生同步器单元列表:
1. 准备设计 RTL 及 SDC 约束文件 2. 对设计执行 SpyGlass CDC 检查 3. 对 SpyGlass 产生的报告进行后处理,产生同步器单元列表 4. 对同步器单元列表进行 MTBF 计算 5. 在综合中将同步器单元使用特定库单元进行置换 6. 重新计算 MTBF
流程示意图说明:
Goal → Prepare SpyGlass Database → Run SpyGlass CDC → CDC Reports
→ Post-process → Synchronizer MTBF Calculating → Synchronizer Cell replacement → MTBF re-check
5. 结论及建议
在 ASIC 设计中,MTBF 是 IC 稳定工作的重要指标。而如何计算 MTBF 也有不同的方法。本文假定亚稳态主要由 CDC 引起,MTBF 反映了亚稳态发生的时间间隔,因此 MTBF 可以通过 CDC 同步器来得到。本文提供一种思路:通过 SpyGlass CDC 的报告来获取同步器单元,可以极大地加速 MTBF 的计算。同时在 RTL 阶段就能估算 MTBF,并能选择合适的同步器单元,对设计带来很大的便利。
6. 参考文献
[1] SpyGlass_Console_UserGuide.pdf
[2] Synchronization in Digital Logic Circuits.pdf
图片索引
共 1 张图片,存放于 SNUG_CN_Unknown_基于SPYGLASS CDC 的MTBF_paper_images/ 目录。
- 图1:亚稳态示意图 - 图2:CDC 处产生亚稳态 - 图3:典型同步器电路 - 图4:基于 SpyGlass CDC 流程的 MTBF 计算